Non-volatile data storage devices, such as embedded flash memory, have allowed for increased portability of data and software applications. Information that is read from a non-volatile data storage device is often processed by an error correction code (ECC) decoder to correct errors that may be introduced into stored data during operation of the non-volatile data storage device. One example of such an ECC decoder is a low-density parity check (LDPC) decoder.
An LDPC decoder may be designed or programmed to have particular parameter values that are based on a performance criterion of the LDPC decoder for a particular system behavior. As one example, the parameter values of the LDPC decoder may be set to meet a particular performance criterion, such as a throughput metric, associated with a particular type of host access mode. Parameter values that enable the LDPC decoder to meet a particular performance criterion may prevent the LDPC decoder from meeting a different performance criterion associated with a different type of host access mode. Failing to meet other performance criterions may reduce the usefulness of the LDPC decoder in some situations.